package com.woniu.account.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.woniu.account.dto.*;
import com.woniu.account.form.*;
import com.woniu.account.model.TCoach;
import com.woniu.core.util.PageInfo;

import java.util.List;

/**
 * <p>
 *  服务类
 * </p>
 *
 * @author 吴彦祖
 * @since 2024年04月02日
 */
public interface TCoachService extends IService<TCoach> {

    TCoach teacherRegister(RegisterCoachForm form) throws Exception;

    CoachLoginDto teacherLogin(LoginCoachForm form) throws Exception;

    void sendLoginCode(String phone)throws Exception;

    CoachLoginDto coachCodeLogin(CoachCodeLoginForm form)throws Exception;

    void coachChangePassword(ChangePasswordForm form) throws Exception;
    CoachDto getCoachById(Integer coachId);

    TCoach coachAccountPerfect(updateCoachInformationForm form)throws Exception;

    CoachDto coachBindGym(Integer coachId,String gymNUm);

    String uploadImage(UpdateImageForm form)throws Exception;

    CoachDto coachUntieGym(Integer coachId);

    PageInfo<MyFansDto> myFans(Integer pageNum, Integer pageSize, Integer coachId) throws Exception;

    PageInfo<FindUnsignedCoachDto> findUnsignCoach(FindUnsignCoachForm form);

    void sendRegisterCode(String phone) throws Exception;

    List<CoachqueryMyStudentDto> queryMyStudentByCondition(Integer courseVariety) throws Exception;
}
